class Solution {
public:
    string getStringFromNum(int count)
    {
        string ret="";
        while(count)
        {
            ret.push_back((count%10)+'0');
            count/=10;
        }
        reverse(ret.begin(),ret.end());
        return ret;
    }
    string getS(string s)
    {
        int start=0;
        string ans="";
        for(int i=1;i<=s.size();i++)
        {
            if(i==s.size() || s[i]!=s[i-1])//i==s.size()是用来出来最后一段相同的字符
            {
                int count=i-start;//计算相同字符的长度
                ans+=getStringFromNum(count) + s[i-1];//如果不减1可能会越界
                start=i;
            }
        }
        return ans;
    }
    string countAndSay(int n) {
        string s="1";
        n=n-1;
        while(n--)
        {
            s=getS(s);
        }
        return s;
    }
};